home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #250 (1993)(Rhein-Sieg-Soft).zip / Franz PD Disk #250 (1993)(Rhein-Sieg-Soft).adf / Z80 / Z80Hilfe.txt < prev   
Text File  |  1993-08-10  |  14KB  |  484 lines

  1. \language\{Deutsch}
  2.  
  3. \title\{Transportbefehle für 8 Bit}
  4.  
  5. \subtitle\{LD d,s}
  6. \text\{Kopiert 8-Bit-Daten von s nach d. 
  7. d kann sein: A,B,C.D,E,H,L, (HL), (IX+e) und (IY+e)
  8. s kann sein: A,B,C,D,E,H,L, (HL), (IX+e), (IY+e) und n.}
  9.  
  10. \subtitle\{LD A,(ss)}
  11. \text\{Kopiert den Inhalt der Speicherzelle, die durch das 
  12. Registerpaar ss adressiert wird, in das Register A.
  13. ss kann sein: (BC), (DE), (HL) und (nn).
  14. \newline\
  15. Bemerkung: (nn) ist ein Zeiger auf einen Speicherbereich!}
  16.  
  17. \subtitle\{LD (ss),A}
  18. \text\{Kopiert den Inhalt von A in die Speicherzelle, die durch das
  19. Registerpaar ss angegeben wird.
  20. ss kann sein: (BC), (DE), (HL) und (nn).
  21. \newline\
  22. Bemerkung: (nn) ist ein Zeiger auf einen Speicherbereich!}
  23.  
  24. \subtitle\{LD A,I}
  25. \text\{Kopiert den Inhalt des Interruptvektor-Registers in das Register A.}
  26.  
  27. \subtitle\{LD A,R}
  28. \text\{Kopiert den Inhalt des Refresh-Registers in das Register A.}
  29.  
  30. \subtitle\{LD I,A}
  31. \text\{Kopiert den Inhalt von Register A in das Interruptvektor-Register.}
  32.  
  33. \subtitle\{LD R,A}
  34. \text\{Kopiert den Inhalt von Register A in das Refresh-Register.}
  35.  
  36. \title\{Transportbefehle für 16 Bit}
  37.  
  38. \subtitle\{LD dd,nn}
  39. \text\{Kopiert den 16-Bit-Wert nn in das Register dd.
  40. dd kann sein: BC, DE, HL, SP, IX und IY.}
  41.  
  42. \subtitle\{LD dd,(nn)}
  43. \text\{Kopiert den Wert, der in der Speicherzelle  nn
  44. und in der Speicherzelle nn+1 steht, in das Registerpaar dd.
  45. dd kann sein: BC, DE, HL, SP, IX und IY.
  46. \newline\
  47. Beispiel: LD HL,(0C000H)
  48.           Das Byte, das sich an der Adresse 0C000H bfindet, wird in
  49.           das Register L kopiert. Das darauffolgende Byte (0C001H)
  50.           wird in das Register H kopiert.}
  51.  
  52. \subtitle\{LD (nn),ss}
  53. \text\{Kopiert den Inhalt des Registerpaars ss in die zwei 
  54. aufeinanderfolgende Speicherzellen nn und nn+1.
  55. ss kann sein: BC, DE, HL, SP, IX und IY.
  56. \newline\
  57. Beispiel: LD (0C000H),HL
  58.           Der Inhalt des Registers H wird in die Speicherzelle mit der
  59.           Adresse 0C001H geschrieben, der Inhalt des Registers L wird
  60.           in die Speicherzelle 0C000H geschrieben.}
  61.  
  62. \subtitle\{LD SP,ss}
  63. \text\{Kopiert den Inhalt des Registerpaars ss in das 
  64. Registerpaar SP.
  65. ss kann sein: HL, IX und IY.}
  66.  
  67. \subtitle\{PUSH gg}
  68. \text\{Speichert den Inhalt des Registerpaars gg auf dem 
  69. Stack ab.
  70. gg kann sein: BC, DE, HL, AF, IX und IY.}
  71.  
  72. \subtitle\{POP gg}
  73. \text\{Ladet das Registerpaar gg mit den Daten, die auf
  74. dem Stack abgespeichert wurden.
  75. gg kann sein: BC, DE, HL, AF, IX und IY.}
  76.  
  77. \title\{Eingabe- und Ausgabebefehle}
  78.  
  79. \subtitle\{IN A,(n)}
  80. \text\{Der Inhalt der IO-Adresse n wird nach A kopiert.}
  81.  
  82. \subtitle\{IN d,(C)}
  83. \text\{Der Inhalt der IO_Adresse, die durch das Register C adressiert wird,
  84. wird nach d kopiert. d kann sein: A, B, C, D, E, H und L.}
  85.  
  86. \subtitle\{INI}
  87. \text\{Keine Informationen vorhanden!}
  88.  
  89. \subtitle\{INIR}
  90. \text\{Keine Informationen vorhanden!}
  91.  
  92. \subtitle\{IND}
  93. \text\{Keine Informationen vorhanden!}
  94.  
  95. \subtitle\{INDR}
  96. \text\{Keine Informationen vorhanden!}
  97.  
  98. \subtitle\{OUT (n),A}
  99. \text\{Der Inhalt des Registers A wird im IO-Bereich, auf der Adresse n
  100. ausgegeben.}
  101.  
  102. \subtitle\{OUT (C),s}
  103. \text\{Der Inhalt des Registers s wird im IO-Bereich, auf der Adresse, die
  104. durch das Register C adressiert wird, ausgegeben.}
  105.  
  106. \subtitle\{OUTI}
  107. \text\{Keine Informationen vorhanden!}
  108.  
  109. \subtitle\{OTIR}
  110. \text\{Keine Informationen vorhanden!}
  111.  
  112. \subtitle\{OUTD}
  113. \text\{Keine Informationen vorhanden!}
  114.  
  115. \subtitle\{OTDR}
  116. \text\{Keine Informationen vorhanden!}
  117.  
  118. \title\{Exchange-, Blocktransfer- und Suchbefehle}
  119.  
  120. \subtitle\{EX DE,HL}
  121. \text\{Tauscht den Inhalt der beiden Registerpaare DE und HL.}
  122.  
  123. \subtitle\{EX AF,AF`}
  124. \text\{Tauscht den Inhalt der beiden Doppelregister AF und AF`.}
  125.  
  126. \subtitle\{EXX}
  127. \text\{Tauscht den Inhalt folgender Dopelregister:
  128. BC mit BC`
  129. DE mit DE` und
  130. HL mit HL`.}
  131.  
  132. \subtitle\{EX (SP),HL}
  133. \text\{Tauscht den Inhalt des Doppelregisters HL mit dem Inhalt
  134. des Stacks. Nach dem Aufruf enthält H=SP+1 und L=SP. 
  135. Der Stack enthält dagegen den Inhalt von HL.
  136. SP+1=H und SP=L.}
  137.  
  138. \subtitle\{EX (SP),IX}
  139. \text\{Tauscht den Inhalt des Doppelregisters IX mit dem Inhalt
  140. des Stacks.}
  141.  
  142. \subtitle\{EX (SP),IY}
  143. \text\{Tauscht den Inhalt des Doppelregisters IY mit dem Inhalt
  144. des Stacks.}
  145.  
  146. \subtitle\{LDI}
  147. \text\{Keine Informationen vorhanden!}
  148.  
  149. \subtitle\{LDIR}
  150. \text\{Keine Informationen vorhanden!}
  151.  
  152. \subtitle\{LDD}
  153. \text\{Keine Informationen vorhanden!}
  154.  
  155. \subtitle\{LDDR}
  156. \text\{Keine Informationen vorhanden!}
  157.  
  158. \subtitle\{CPI}
  159. \text\{Keine Informationen vorhanden!}
  160.  
  161. \subtitle\{CPIR}
  162. \text\{Keine Informationen vorhanden!}
  163.  
  164. \subtitle\{CPD}
  165. \text\{Keine Informationen vorhanden!}
  166.  
  167. \subtitle\{CPDR}
  168. \text\{Keine Informationen vorhanden!}
  169.  
  170. \title\{Arithmetische und logische Befehle für 8 Bit}
  171.  
  172. \subtitle\{ADD A,s}
  173. \text\{Addiert den Inhalt von s zum Inhalt von A und speichert das
  174. Ergebnis in A ab.
  175. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).
  176. \newline\
  177. (HL) bedeutet: Inhalt der Speicherzelle, auf die HL zeigt.}
  178.  
  179. \subtitle\{ADD A,n}
  180. \text\{Addiert n zum Inhalt von A und speichert das
  181. Ergebnis in A ab.}
  182.  
  183. \subtitle\{ADC A,s}
  184. \text\{Addiert den Inhalt von s unter Beachtung des Carryflags zum
  185. Inhalt von A und speichert das Ergebnis in A ab. 
  186. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).
  187. \newline\
  188. (HL) bedeutet: Inhalt der Speicherzelle, auf die HL zeigt.}
  189.  
  190. \subtitle\{ADC A,n}
  191. \text\{Addiert n unter Beachtung des Carryflags zum Inhalt von A und
  192. speichert das Ergebnis in A ab.}
  193.  
  194. \subtitle\{SUB s}
  195. \text\{Subtrahiert den Inhalt von s zum Inhalt von A und speichert das
  196. Ergebnis in A ab.
  197. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).
  198. \newline\
  199. (HL) bedeutet: Inhalt der Speicherzelle, auf die HL zeigt.}
  200.  
  201. \subtitle\{SUB n}
  202. \text\{Subtrahiert n zum Inhalt von A und speichert das
  203. Ergebnis in A ab.}
  204.  
  205. \subtitle\{SBC A,s}
  206. \text\{Subtrahiert den Inhalt von s unter Beachtung des Carryflags
  207. zum Inhalt von A und speichert das Ergebnis in A ab.
  208. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).
  209. \newline\
  210. (HL) bedeutet: Inhalt der Speicherzelle, auf die HL zeigt.}
  211.  
  212. \subtitle\{SBC A,n}
  213. \text\{Subtrahiert n unter Beachtung des Carryflags zum Inhalt von A und speichert das
  214. Ergebnis in A ab.}
  215.  
  216. \subtitle\{AND s}
  217. \text\{Verknüpft das Register A und s durch logisch UND.
  218. s kann sein: A, B, C, D, E, H, L, (HL), n, (IX+e) und (IY+e).}
  219.  
  220. \subtitle\{OR s}
  221. \text\{Verknüpft das Register A und s durch logisch ODER. s kann sein:
  222. A, B, C, D, E, H, L, (HL), n, (IX+e) und (IY+e).}
  223.  
  224. \subtitle\{XOR s}
  225. \text\{Verknüpft das Register A und s durch logisch Exklusiv-Oder.
  226. s kann sein: A, B, C, D, E, H, L, (HL), n, (IX+e) und (IY+e).}
  227.  
  228. \subtitle\{CP s}
  229. \text\{Vergleicht das Register A und s auf Gleichheit.
  230. s kann sein: A, B, C, D, E, H, L, (HL), n, (IX+e) und (IY+e).}
  231.  
  232. \subtitle\{INC s}
  233. \text\{Erhöht s um 1.
  234. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
  235.  
  236. \subtitle\{DEC s}
  237. \text\{Erniedrigt s um 1.
  238. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
  239.  
  240. \title\{Arithmetische Befehle für 16 Bit}
  241.  
  242. \subtitle\{ADD HL,ss}
  243. \text\{Addiert den Inhalt von ss zum Doppelregister HL und speichert
  244. das Ergebnis in HL ab.
  245. ss kann sein: BC, DE, HL und SP.}
  246.  
  247. \subtitle\{ADC HL,ss}
  248. \text\{Addiert den Inhalt von ss unter Beachtung des Carryflags zum 
  249. Doppelregister HL und speichert das Ergebnis in HL ab.
  250. HL = HL+ss+CFL.
  251. ss kann sein: BC, DE, HL und SP.}
  252.  
  253. \subtitle\{SBC HL,ss}
  254. \text\{Subtrahiert den Inhalt von ss unter Beachtung des Carryflags
  255. vom Doppelregister HL und speichert das Ergebnis in HL ab.
  256. HL = HL-ss-CFL.
  257. ss kann sein: BC, DE, HL und SP.}
  258.  
  259. \subtitle\{ADD IX,ss}
  260. \text\{Addiert den Inhalt von ss zum 
  261. Doppelregister IX und speichert das Ergebnis in IX ab.
  262. IX = IX+ss.
  263. ss kann sein: BC, DE, IX und SP.}
  264.  
  265. \subtitle\{ADD IY,ss}
  266. \text\{Addiert den Inhalt von ss zum 
  267. Doppelregister IY und speichert das Ergebnis in IY ab.
  268. IY = IY+ss.
  269. ss kann sein: BC, DE, IY und SP.}
  270.  
  271. \subtitle\{INC ss}
  272. \text\{Erhöht ss um 1.
  273. ss kann sein: BC, DE, HL, IX, IY und SP.}
  274.  
  275. \subtitle\{DEC ss}
  276. \text\{Erniedrigt ss um 1.
  277. ss kann sein: BC, DE, HL, IX, IY und SP.}
  278.  
  279. \title\{Rotier- und Shiftbefehle}
  280.  
  281. \subtitle\{RLCA}
  282. \text\{A wird um eine Stelle nach links verschoben. Das "überlaufende"
  283. siebte Bit kommt in das Carryflag und außerdem an die Bitstelle 0.}
  284.  
  285. \subtitl\{RLA}
  286. \text\{A wird um eine Stelle nach links verschoben. Das "überlaufende"
  287. siebte Bit kommt in das Carryflag. Das Bit im Carryflag kommt an die
  288. Bitstelle 0.}
  289.  
  290. \subtitle\{RRCA}
  291. \text\{A wird um eine Stelle nach rechts verschoben. Die Bitstelle 0
  292. kommt in das Carryflag und außerdem an die Bitstelle 7.}
  293.  
  294. \subtitle\{RRA}
  295. \text\{A wird um eine Stelle nach rechts verschoben. Die Bitstelle 0
  296. kommt in das Carryflag. Das Bit im Carryflag kommt an die Bitstelle 7.}
  297.  
  298. \subtitle\{RLC s}
  299. \text\{Das Register s wird um eine Stelle nach links verschoben. Das 
  300. "überlaufende" siebte Bit kommt in das Carryflag und außerdem
  301. an die Bitstelle 0.
  302. s kann sein: A, B, C, D, E, H, L, (HL),
  303. (IX+e) und (IY+e).}
  304.  
  305. \subtitle\{RL s}
  306. \text\{Das Registers s wird um eine Stelle nach links verschoben. Das 
  307. "überlaufende" siebte Bit kommt in das Carryflag. Das Bit im Carryflag
  308. kommt an die Bitstelle 0.
  309. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
  310.  
  311. \subtitle\{RRC s}
  312. \text\{Das Register s wird um eine Stelle nach rechts verschoben.
  313. Die Bitstelle 0 kommt in das Carryflag und außerdem an die
  314. Bitstelle 7.
  315. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
  316.  
  317. \subtitle\{RR s}
  318. \text\{Das Register s wird um eine Stelle nach rechts verschoben.
  319. Die Bitstelle 0 kommt in das Carryflag. Das Bit im Carryflag 
  320. kommt an die Bitstelle 7.
  321. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
  322.  
  323. \subtitl\{SLA s}
  324. \text\{Register s wird um eine Stelle nach links verschoben.
  325. Das "überlaufende" siebte Bit kommt in das Carryflag. Das Bit 
  326. im Carryflag geht verloren, die Bitstelle 0 wird durch eine Null
  327. aufgefüllt.}
  328.  
  329. \subtitle\{SRA s}
  330. \text\{Register s wird um eine Stelle nach rechts verschoben. 
  331. Bitstelle 7 bleibt unverändert. Bitstelle 0 wird in das Carryflag
  332. geschoben. Das Bit im Carryflag geht verloren.}
  333.  
  334. \subtitle\{RLD}
  335. \text\{Keine Informationen vorhanden.}
  336.  
  337. \subtitle\{RRD}
  338. \text\{Keine Informationen vorhanden.}
  339.  
  340. \title\{Einzelbitbefehle}
  341.  
  342. \subtitle\{BIT b,s}
  343. \text\{Das Zeroflag wird je nach Zustand des Bits b gesetzt oder
  344. gelöscht.
  345. b kann sein: 0, 1, 2, 3, 4, 5, 6 oder 7.
  346. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) oder (IY+e).}
  347.  
  348. \subtitle\{SET b,s}
  349. \text\{Im Register s wird das Bit b auf 1 gesetzt.
  350. b kann sein: 0, 1, 2, 3, 4, 5, 6 oder 7.
  351. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) oder (IY+e).}
  352.  
  353. \subtitle\{RES b,s}
  354. \text\{Im Register s wird das Bit b gelöscht.
  355. b kann sein: 0, 1, 2, 3, 4, 5, 6 oder 7.
  356. s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) oder (IY+e).}
  357.  
  358. \title\{Verzweigungs- und Sprungbefehle}
  359.  
  360. \subtitle\{JP nn}
  361. \text\{Springt an die absolute Adresse nn.}
  362.  
  363. \subtitle\{JP cc,nn}
  364. \text\{Wenn cc wahr ist, erfolgt ein Sprung an die absolute 
  365. Adresse nn.
  366. cc kan sein:
  367. NZ  (Not Zero)    = ungleich Null.
  368. Z   (Zero)        = gleich Null.
  369. C   (Carry)       = Überlaufbit.
  370. PO  (Parity odd)  = ungerade.
  371. PE  (Parity Even) = gerade.
  372. P   (Plus)        = positives Vorzeichen.
  373. M   (Minus)       = negatives Vorzeichen.}
  374.  
  375. \subtitle\{JR e}
  376. \text\{Sprung über die Vorzeichenbehaftete Distanz e. e ist ein 
  377. 8-Bit-Wert, dadurch sind nur Sprünge über Distanzen von 
  378. max. 128 Bytes möglich.}
  379.  
  380. \subtitle\{JR cc,e}
  381. \text\{Wenn cc wahr ist, erfolgt ein sprung über die 
  382. Vorzeichenbehaftete Distanz e. e ist ein 8-Bit-Wert, dadurch sind
  383. nur Sprünge über Distanzen von max. 128 Bytes möglich.
  384. cc kan sein:
  385. NZ  (Not Zero)    = ungleich Null.
  386. Z   (Zero)        = gleich Null.
  387. NC  (Not Carry)   = kein Überlauf.
  388. C   (Carry)       = Überlauf.}
  389.  
  390. \subtitle\{JP (HL)}
  391. \text\{Sprung and die Adresse, die im Register HL steht.}
  392.  
  393. \subtitle\{JP (IX)}
  394. \text\{Sprung and die Adresse, die im Register IX steht.}
  395.  
  396. \subtitle\{JP (IY)}
  397. \text\{Sprung and die Adresse, die im Register IY steht.}
  398.  
  399. \subtitle\{DJNZ e}
  400. \text\{Dekrementiert den Inhalt des Registers B und springt dann über
  401. die Distanz e solange B ungleich Null ist. Achtung: e ist ein 
  402. 8-Bit-Wert. Deshalb kann max. nur eine Distanz von +/- 128 Bytes
  403. übersprungen werden. Wenn Register B zu Null wird, wird der 
  404. darauffolgende Befehl ausgeführt.}
  405.  
  406. \title\{Unterprogrammbefehle}
  407.  
  408. \subtitle\{CALL nn}
  409. \text\{Sprung an die Adresse nn. Vorher wird die Rücksprungadresse
  410. auf dem Stack abgespeichert. (Rücksprung dann durch RET oder RET cc).}
  411.  
  412. \subtitle\{CALL cc, nn}
  413. \text\{Wenn cc wahr ist, erfolgt ein Sprung an die absolute Adresse nn.
  414. Vorher wird die Rücksprungadresse auf dem Stack abgespeichert.
  415. (Rücksprung dann durch RET oder RET cc).
  416. cc kan sein:
  417. NZ  (Not Zero)    = ungleich Null.
  418. Z   (Zero)        = gleich Null.
  419. C   (Carry)       = Überlaufbit.
  420. PO  (Parity odd)  = ungerade.
  421. PE  (Parity Even) = gerade.
  422. P   (Plus)        = positives Vorzeichen.
  423. M   (Minus)       = negatives Vorzeichen.}
  424.  
  425. \subtitle\{RETI}
  426. \text\{Rücksprung bei auftreten eines Interrupts im Interruptprogramm.}
  427.  
  428. \subtitle\{RETN}
  429. \text\{Rücksprung bei auftreten eines Nicht Maskierbaren Interrupts 
  430. (non maskable interrupt) im Interruptprogramm.}
  431.  
  432. \subtitle\{RST a}
  433. \text\{Unterprogrammaufruf bei der durch a festgelegten Adresse.
  434. a kann sein:
  435. 0  oder 00 -> Startadresse steht in 00H.
  436. 1  oder 08 -> Startadresse steht in 08H.
  437. 2  oder 10 -> Startadresse steht in 10H.
  438. 3  oder 18 -> Startadresse steht in 18H.
  439. 4  oder 20 -> Startadresse steht in 20H.
  440. 5  oder 28 -> Startadresse steht in 28H.
  441. 6  oder 30 -> Startadresse steht in 30H.
  442. 7  oder 38 -> Startadresse steht in 38H.}
  443.  
  444. \title\{CPU-Steuerbefehle}
  445.  
  446. \subtitle\{DAA}
  447. \text\{Wandelt den Inhalt des Registers A in die gepackte BCD-Darstelllung
  448. um.}
  449.  
  450. \subtitle\{CPL}
  451. \text\{Invertiert Register A. (Einerkomplement)}
  452.  
  453. \subtitle\{NEG}
  454. \text\{Negiert Register A. (Zweierkomplement)}
  455.  
  456. \subtitle\{CCF}
  457. \text\{Invertiert das Carryflag.}
  458.  
  459. \subtitle\{SCF}
  460. \text\{Setzt das Carryflag auf 1.}
  461.  
  462. \subtitle\{NOP}
  463. \text\{Leerbefehl, es wird keine Operation ausgeführt.}
  464.  
  465. \subtitle\{HALT}
  466. \text\{Prozessor wird angehalten. Der Refresh wird trotzdem weiter
  467. ausgeführt. Aktivierung erfolgt dann wieder durch einen Interrupt.}
  468.  
  469. \subtitle\{DI}
  470. \text\{Interrupt verbieten.}
  471.  
  472. \subtitle\{EI}
  473. \text\{Interrupt zulassen.}
  474.  
  475. \subtitle\{IM0}
  476. \text\{Interruptmodus 0 wird aktiviert.}
  477.  
  478. \subtitle\{IM1}
  479. \text\{Interruptmodus 1 wird aktiviert.}
  480.  
  481. \subtitle\{IM2}
  482. \text\{Interruptmodus 2 wird aktiviert.}
  483.  
  484.